﻿#include "logger.h"


void Logging::setLogPath(const char* path, int size, int num)
{
    /* code *///文件接收器，设置文件名，单个文件大小，最大log文件数量，包括当前写入文件（spdlog中文件数量是重命名的文件数量，不包括当前写入的文件，所以减少1）
    std::shared_ptr<spdlog::sinks::sink> fileSinks = std::make_shared<spdlog::sinks::rotating_file_sink_mt>(path, size, num);

    //创建记录器，绑定到文件接收器上
    m_console_file = std::make_shared<spdlog::logger>("filelogger", fileSinks);
    m_isConsoleFile = true;

    //debug和以上级(info,error)别接收到信息就进行刷新，及时写入到文件中
    m_console_file->flush_on(spdlog::level::debug);
    m_console_file->set_pattern("[%Y-%m-%d %H:%M:%S.%e] [test_code %l]: %v");
}


Logging::Logging()
{
    m_console =  spdlog::stdout_color_mt("console"); 
    spdlog::set_default_logger(m_console);
    m_console->set_pattern("[%Y-%m-%d %H:%M:%S.%e] [test_code %l]: %v");

    m_isConsoleFile = false;

    setLogPath("test_code.txt", 1024 * 1024 *1024, 8);
}

Logging::~Logging()
{
}